/*
 * interrupt.h
 *
 *  Created on: Mar 6, 2012
 *      Author: Dan
 */

#ifndef INTERRUPT_H_
#define INTERRUPT_H_
#include "../Utility/queue.h"

enum INTERRUPT {
	KEYBOARD = 0,
	IODEVICE = 1,
	SYSTEMTIMER = 2
} INTERRUPT;

typedef struct{
	int type;
	char *process_name;
	char *data;
	Queue blocked_q;
} interrupt;

/**
 * Interrupt Constructor
 * Interrupt Type 0=Keyboard, 1=IO Device, 2=System Timer,
 * blocked Queue.
 */
int interrupt_init(interrupt* intr, int type, char *process_name, char *data, Queue blocked_q);

#endif /* INTERRUPT_H_ */
